import request from '@/utils/request';

/**
 * 无参数 服务端从token中获取当前登陆人的公司信息
 * @returns {Promise<void>}
 */
export async function getOrgList() {
    // return request('/api/oa/v1/company/getlist');
    // 组织架构改版
    return request('/api/functional/organization/one/child/list');
}

/**
 *
 * @param params {number} id 公司id
 * @returns {Promise<void>}
 */
export async function getOrgById(params) {
    return request(`/api/oa/v1/company/getone/${params.id}`);
}

/**
 * 保存公司信息
 * @param params
 * @returns {Promise<*>}
 */
export async function updateOrgInfo(params) {
    return request('/api/oa/v1/company/saveorupdate', {
        method: 'POST',
        data: params
    });
}

/**
 * 获取公司树
 * @returns {Promise<*>}
 */
export async function getOrgTree(params) {
    return request('/api/org/v1/functional/list', { method: 'POST', data: params });
}

/**
 * 获取过滤掉禁用状态的机构列表
 * @returns {Promise<*>}
 */
export async function getEnableOrgTree(params) {
    return request('/api/uc/org/v1/orgLinkList', { method: 'POST', data: params });
}

/**
 * 获取公司概况信息
 * @param params {id} 公司id
 * @returns {Promise<void>}
 */
export async function getOrgInfoDetail(params) {
    return request(`/api/oa/v1/company/getcompanyprofile/${params.id}`);
}

/**
 * 查询区域ceo
 * @param params
 * @returns {Promise<unknown>}
 */
export async function getRegionalLeader(params) {
    return request('/api/oa/v1/employee/getregionalleader/', {
        method: 'POST',
        data: params
    });
}

/**
 * 查询组织机构树
 * @param showTreeFlag 是否树形结构
 */
export const getOrganizationTree = async params =>
    request('/api/uc/org/v1/orgLinkList', {
        method: 'POST',
        data: params
    });

/**
 * 查询组织机构树
 * @param showTreeFlag 是否树形结构
 */
export const getOrganizationTreeWithNum = async params =>
    request('/api/uc/org/v1/orgLinkListAndEmployeeNum', {
        method: 'POST',
        data: params
    });

/**
 * 查询岗位列表
 * @param organizationCode
 * @param organizationPath
 */
export const getPostList = async params =>
    request('/api/uc/duty/v1/getList', {
        method: 'POST',
        data: params
    });

/**
 * 双组织机构-行政机构
 */
export async function getOrganizationList(param) {
    return request('/api/uc/org/ads/v1/orgLinkList', {
        data: param,
        method: 'POST'
    });
}

/**
 * 双组织机构-职能机构/组织机构
 */
export async function getFunctionalList(param) {
    return request('/api/uc/org/functional/v1/orgLinkList', {
        data: param,
        method: 'POST'
    });
}
